package cn.tedu._04mvcboot01.controller;

import cn.tedu._04mvcboot01.pojo.dto.WeiboDTO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * Controller注解:标识为控制器类,用于接收并处理用户的相关请求
 */
@Controller
public class UserController {
    /**
     * 服务端接收参数的第1种方式: 使用HttpServletRequest接收
     * 1.RequestMapping:请求注解,添加在控制器方法上,用于匹配URL地址路径;
     * 2.ResponseBody:响应注解,允许控制器方法以返回值的方式返回给客户端数据;
     */
    @RequestMapping("v1/users/login")
    @ResponseBody
    public String login(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        return username + ":" + password;
    }

    /**
     * 服务端接收参数的第2种方式: 声明参数方式接收
     *
     */
    @RequestMapping("v1/users/reg")
    @ResponseBody
    public String reg(String username, String password, String nickname){
        return username + ":" + password + ":" + nickname;
    }

    /**
     * 服务端接收参数的第3种方式: 通过POJO - DTO类来接收
     * 发微博：用户名、微博内容
     */
    @RequestMapping("v1/users/weibo")
    @ResponseBody
    public String weibo(WeiboDTO weiboDTO){
        String username = weiboDTO.getUsername();
        String content = weiboDTO.getContent();

        return "发布成功," + username + ":" + content;
    }

}








